package cn.lingyangwl.agile.dynamic.config.core;

import cn.lingyangwl.agile.dynamic.config.model.ConfigMsg;
import cn.lingyangwl.agile.model.enums.ConfigKeyEnum;
import cn.lingyangwl.agile.model.enums.ConfigDefineEnum;

/**
 * 建议在监听的方法中只做删除操作
 * 在下一次查询的时候, 判断并调用 {@link ConfigFactory#getConfig(ConfigKeyEnum)} 主动调用配置并进行初始化
 *
 * @author shenguangyang
 */
public interface IConfigListener {
    /**
     * 更新配置
     */
    void updateConfig(ConfigMsg msg);

    /**
     * 配置键值
     * @see ConfigDefineEnum
     */
    ConfigDefineEnum configDefine();
}
